/**
 * 最佳实践：
 * 优先选择直接列表初始化（或值初始化）来初始化变量。
 * 创建时初始化变量。
*/

#include <iostream>

using namespace std;

int main() {
    // There are 6 basic ways to initialize variables in C++
    int a;      // no initializer (default initialization)
    // 赋值初始化 会隐式转换小数为整型
    // 创建时初始化变量
    int b = 5.5;  // initializer after equals sign (copy initialization)
    // 直接初始化，很像函数调用
    int c(6);   // initializer in parenthesis (direct initialization)

    // List initialization methods (C++11) (preferred)
    int d{7};     // initializer in braces (direct list initialization)
    // 这种列表初始化 列表中的值必须和类型一致 不会隐式转换
    int e = {8};  // initializer in braces after equals sign (copy list initialization)
    // 值初始化 默认值为0
    int f{};      // initializer is empty braces (value initialization)
}